| API Documentation |  |

- MAIN PAGE
- NAMESPACES
- CLASSES

Classes | Public Member Functions | Static Public Member Functions | List of all members
nkWinUi::ListBox Class Reference

A graphical list box. More...

Inheritance diagram for nkWinUi::ListBox:

## Classes
class | Item

## Public Member Functions
| ListBox (System *system) noexcept
| ListBox (const ListBox &)=delete
virtual | ~ListBox ()
Item * | getItemFromLabel (nkMemory::StringView label) const
Item * | getItemFromData (void *data) const
Item * | getItemFromIndex (unsigned int index) const
virtual Item * | getCurrentSelection () const
virtual int | getCurrentSelectionIndex () const
std::function< void(ListBox *)> | getSelectionCallback () const
unsigned int | getItemCount () const
void | setSelectionCallback (std::function< void(ListBox *)> value)
virtual Item * | insertItem (nkMemory::StringView text, void *data)
virtual void * | deleteItem (nkMemory::StringView name)
virtual void | changeItemLabel (nkMemory::StringView oldText, nkMemory::StringView newText)
void | changeItemData (nkMemory::StringView text, void *newData)
virtual bool | setSelected (nkMemory::StringView text)
virtual bool | setSelectedIndex (unsigned int index)
bool | setSelectedData (void *data)
virtual void | clearItems ()
virtual void | exportIntrospection (nkExport::Node *rootNode) override
virtual void | importClassFromTree (nkExport::Node *rootNode) override
ListBox & | operator= (const ListBox &)=delete
Public Member Functions inherited from nkWinUi::Component
| Component (System *system) noexcept
virtual | ~Component ()
Layout * | getLayout () const
Theme * | getTheme () const
Font * | getFont () const
nkMaths::Point | getPositionInParent () const
nkMaths::Point | getPositionInScreen () const
float | getWidth () const
float | getHeight () const
nkMaths::Rectangle | getAreaInParent () const
nkMaths::Rectangle | getAreaInScreen () const
virtual nkMaths::Point | getBorderExtents () const
virtual float | getBorderExtent (BORDER_KIND border) const
virtual float | getLayoutAllowedWidth () const
virtual float | getLayoutAllowedHeight () const
virtual float | getLayoutAllowedOffsetX () const
virtual float | getLayoutAllowedOffsetY () const
bool | isInitialized () const
System * | getSystem () const
Component * | getParentComponent () const
COMPONENT_TYPE | getComponentType () const
nkMemory::StringView | getComponentName () const
bool | getVisibility () const
virtual nkMemory::StringView | getLabel () const
void * | getData () const
bool | isEnabled () const
bool | isForegroundWindow () const
virtual unsigned int | getZDepth () const
bool | getVisibleOnLoad () const
std::function< bool(Component *)> | getCloseCallback () const
std::function< void(Component *, bool)> | getVisibilityCallback () const
std::function< void(Component *, const ClickEventData &)> | getClickCallback () const
std::function< void(Component *, const WheelEventData &)> | getWheelCallback () const
std::function< void(Component *, const KeyEventData &)> | getKeyCallback () const
virtual Layout * | setLayout (LAYOUT_TYPE layoutType)
virtual void | setTheme (Theme *theme)
virtual void | setFont (Font *font)
virtual void | setPositionInParent (nkMaths::Point position)
virtual void | setPositionInScreen (nkMaths::Point position)
virtual void | setSize (float width, float height)
virtual void | setWidth (float width)
virtual void | setHeight (float height)
void | setMinSize (float width, float height)
void | setMaxSize (float width, float height)
void | setRatio (float widthOverHeight)
virtual void | setAreaInParent (const nkMaths::Rectangle &area)
virtual void | setAreaInScreen (const nkMaths::Rectangle &area)
virtual void | setParentComponent (Component *parent, bool makeItVisible=true)
virtual void | setLabel (nkMemory::StringView label)
void | setComponentName (nkMemory::StringView name)
virtual void | setVisibility (bool value)
void | setData (void *data)
void | setEnabled (bool value)
void | setVisibleOnLoad (bool value)
void | setCloseCallback (std::function< bool(Component *caller)> callback)
void | setVisibilityCallback (std::function< void(Component *caller, bool visibility)> callback)
void | setClickCallback (std::function< void(Component *caller, const ClickEventData &eventData)> callback)
void | setWheelCallback (std::function< void(Component *caller, const WheelEventData &eventData)> callback)
void | setKeyCallback (std::function< void(Component *caller, const KeyEventData &eventData)> callback)
void | addChild (Component *child, bool makeItVisible=true)
void | removeChild (Component *child)
void | removeChild (unsigned int index)
Component * | getChild (unsigned int index)
unsigned int | getChildIndex (Component *child)
void | unloadWithChildren ()
void | loadWithChildren ()
void | updateZDepth ()
void | bringToForeground ()
void | focusWindow ()
nkMaths::Point | getCoordRelativeFromAbsolute (nkMaths::Point absCoords)
nkMaths::Point | getCoordAbsoluteFromRelative (nkMaths::Point relCoords)
virtual void | load ()=0
virtual void | unload ()=0
void | reload ()
virtual void | updateWindow ()
nkImages::Image | paintToImage (bool withFrame=false)
void | simulateEvent (const InputDescriptor &inputDescription)
virtual void | onSized ()
virtual void | exportClassToTree (nkExport::Node *rootNode) override
Public Member Functions inherited from nkExport::Exportable
| Exportable () noexcept
virtual | ~Exportable ()

## Static Public Member Functions
static nkMemory::UniquePtr< ListBox > | create (System *system=nullptr)

## Detailed Description

A graphical list box.

## Constructor & Destructor Documentation

## ◆ ListBox() [1/2]

nkWinUi::ListBox::ListBox | ( | System * | system | ) |
| noexcept

Constructor.

Parameters

  system | The parent system in which the component will live.

Remarks
  See ComponentManager::createOrRetrieve().

## ◆ ListBox() [2/2]

nkWinUi::ListBox::ListBox | ( | const ListBox & |  | ) |
| delete

Copy destructor.

## ◆ ~ListBox()

virtual nkWinUi::ListBox::~ListBox | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ getItemFromLabel()

Item* nkWinUi::ListBox::getItemFromLabel | ( | nkMemory::StringView | label | ) | const

Parameters

  label | The label of the item to find.

Returns
  The item with requested label if available, nullptr else.

## ◆ getItemFromData()

Item* nkWinUi::ListBox::getItemFromData | ( | void * | data | ) | const

Parameters

  data | The data of the item to find.

Returns
  The item with requested data if available, nullptr else.

## ◆ getItemFromIndex()

Item* nkWinUi::ListBox::getItemFromIndex | ( | unsigned int | index | ) | const

Parameters

  index | The index of the item to find.

Returns
  The item with requested index if available, nullptr else.

## ◆ getCurrentSelection()

virtual Item* nkWinUi::ListBox::getCurrentSelection | ( |  | ) | const
| virtual

Returns
  Currently selected item if any, nullptr else.

## ◆ getCurrentSelectionIndex()

virtual int nkWinUi::ListBox::getCurrentSelectionIndex | ( |  | ) | const
| virtual

Returns
  Currently selected item's index if available, -1 else.

## ◆ getSelectionCallback()

std::function<void (ListBox*)> nkWinUi::ListBox::getSelectionCallback | ( |  | ) | const

Returns
  Currently set callback for a selection change.

## ◆ getItemCount()

unsigned int nkWinUi::ListBox::getItemCount | ( |  | ) | const

Returns
  The item count in the list box.

## ◆ setSelectionCallback()

void nkWinUi::ListBox::setSelectionCallback | ( | std::function< void(ListBox *)> | value | ) |

Sets the callback to use when a selection change happens.

Parameters

  value | The callback to use. The argument will be the calling list box.

## ◆ insertItem()

virtual Item* nkWinUi::ListBox::insertItem | ( | nkMemory::StringView | text,
|  | void * | data
| ) |  |
| virtual

Inserts an item in the list box.

Parameters

  text | The label to set for the item.
  data | The user data to attach to the item.

Returns
  The freshly created item.

Remarks
  The ListBox owns the Item returned.

## ◆ deleteItem()

virtual void* nkWinUi::ListBox::deleteItem | ( | nkMemory::StringView | name | ) |
| virtual

Erases an item from the list. Memory linked will be freed.

Parameters

  name | The name of the item to free.

## ◆ changeItemLabel()

virtual void nkWinUi::ListBox::changeItemLabel | ( | nkMemory::StringView | oldText,
|  | nkMemory::StringView | newText
| ) |  |
| virtual

Changes a label attached to an existing item.

Parameters

  oldText | The old label of the item to change.
  newText | The new label to set for the item.

## ◆ changeItemData()

void nkWinUi::ListBox::changeItemData | ( | nkMemory::StringView | text,
|  | void * | newData
| ) |  |

Changes the data attached to an existing item.

Parameters

  text | The label of the item to change.
  newData | The new data to attach to the item.

Remarks
  The item won't own the attached user data.

## ◆ setSelected()

virtual bool nkWinUi::ListBox::setSelected | ( | nkMemory::StringView | text | ) |
| virtual

Selects an item.

Parameters

  text | The label of the item to select.

Returns
  If an item could be selected (true) or not (false).

## ◆ setSelectedIndex()

virtual bool nkWinUi::ListBox::setSelectedIndex | ( | unsigned int | index | ) |
| virtual

Selects an item.

Parameters

  index | The index of the item to select.

Returns
  If an item could be selected (true) or not (false).

## ◆ setSelectedData()

bool nkWinUi::ListBox::setSelectedData | ( | void * | data | ) |

Selects an item.

Parameters

  data | The attached data the item to select has.

Returns
  If an item could be selected (true) or not (false).

## ◆ clearItems()

virtual void nkWinUi::ListBox::clearItems | ( |  | ) |
| virtual

Clears all items in the list box. Memory will be freed.

## ◆ exportIntrospection()

virtual void nkWinUi::ListBox::exportIntrospection | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic exporting capability, for components inheriting. Components inheriting this class should rather reimplement this function to export their internal data.

Parameters

  rootNode | The root of the tree to export into.

Reimplemented from nkWinUi::Component.

## ◆ importClassFromTree()

virtual void nkWinUi::ListBox::importClassFromTree | ( | nkExport::Node * | rootNode | ) |
| override virtual

A basic importing capability.

Parameters

  rootNode | The root of the tree to import from.

Reimplemented from nkWinUi::Component.

## ◆ operator=()

ListBox& nkWinUi::ListBox::operator= | ( | const ListBox & |  | ) |
| delete

Copy assignment.

## ◆ create()

static nkMemory::UniquePtr<ListBox> nkWinUi::ListBox::create | ( | System * | system = `nullptr` | ) |
| static

Creates a standalone component, linking it to a system, but no manager. This method can be used to allocate a component and manually manage its lifetime.

Parameters

  system | The system to create the component into. If left to nullptr, then the Singleton instance will be used.

Returns
  The created component instance.

The documentation for this class was generated from the following file:

- Documentation/Headers/NilkinsWinUi/Components/ListBox.h